﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using DotSpatial.Topology;

namespace HAGISV2
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="groupName"></param>
    /// <param name="coords"></param>
    /// <param name="holes">仅带洞多边形需使用 其他置null或空</param>
    /// <param name="type"></param>
    public delegate void ShapeAddHandler(string groupName, Coordinate[] coords, List<Coordinate[]> holes, MFSHAPETYPE type);

    /// <summary>
    /// 
    /// </summary>
    /// <param name="groupName"></param>
    /// <param name="coords">坐标集</param>
    /// <param name="vertexIds">仅线拥有，点传null或空</param>
    /// <param name="lineBreak">如为线上断则： key表示位置 从1开始（insert位置）value为新加坐标。其他默认null </param>
    /// <param name="type"></param>
    public delegate void NewShapeAddHandler(string groupName, Coordinate[] coords, List<string> vertexIds, MFSHAPETYPE type, Dictionary<List<int>, Coordinate> lineBreak = null);

    /// <summary>
    /// 
    /// </summary>
    /// <param name="groupName"></param>
    /// <param name="polylineKey">与多边形线对应的标志</param>
    /// <param name="coords"></param>
    /// <param name="holes">无洞则为空或null</param>
    /// <param name="type"></param>
    public delegate void ConvertedPolyShapeAddHandler(string groupName, string polylineKey, Coordinate[] coords, List<Coordinate[]> holes);

}
